﻿//++
//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
// Module Name:
//
//  PresenceStates.cs
//    
// Abstract:
//
//  Enumerates presence states.
//  
//--

using System;

namespace Microsoft.EnhancedReminders
{
    /// <summary>
    /// Enumeration for describing the different presence states a user can be in
    /// </summary>
    [FlagsAttribute()]
    public enum PresenceStates
    {
        /// <summary>
        /// None
        /// </summary>
        None = 0,

        /// <summary>
        /// Available
        /// </summary>
        Available = 1,

        /// <summary>
        /// Busy
        /// </summary>
        Busy = 2,

        /// <summary>
        /// In a meeting
        /// </summary>
        InAMeeting = 4,

        /// <summary>
        /// In a call
        /// </summary>
        InACall = 8,

        /// <summary>
        /// In a conference
        /// </summary>
        InAConference = 16,

        /// <summary>
        /// Do not disturb
        /// </summary>
        DoNotDisturb = 32,

        /// <summary>
        /// Be right back
        /// </summary>
        BeRightBack = 64,

        /// <summary>
        /// Away
        /// </summary>
        Away = 128,

        /// <summary>
        /// Online, but inactive
        /// </summary>
        IdleOnline = 256,

        /// <summary>
        /// Busy, but inactive
        /// </summary>
        IdleBusy = 512,

        /// <summary>
        /// Offline
        /// </summary>
        Offline = 1024,

        /// <summary>
        /// Unknown
        /// </summary>
        Unknown = 2048
    }
}
